package main

import "fmt"

func main() {
	/*
		函数的返回值：
			一个函数的执行结果，返回给函数的调用处，执行结果就叫做函数的返回值

		return 语句：
			一个函数的定义上有返回值，那么函数中必须使用 return 语句，将结果返回给调用处
			函数返回的结果，必须和函数的定义一致：类型，个数，结果

			1.将函数的结果返回给调用处
			2.同时结束了该函数的执行

		空白标识符，专门用来舍弃数据：_
	*/
	//1.设计一个函数，用于求 1~10 的和，将结果在主函数中打印输出
	res := getSum4()
	fmt.Println("1~10 的和：", res)

	res2 := getSum5()
	fmt.Println(res2)

	res3, res4 := rectangle(5, 3)
	fmt.Println("周长：", res3, "面积：", res4) //周长： 16 面积： 15
	res5, res6 := rectangle2(3, 5)
	fmt.Println("周长：", res5, "面积：", res6) //周长： 16 面积： 15

	res7, _ := rectangle(3, 5)
	fmt.Println("周长", res7)
}

// 带返回值的函数
func getSum4() int {
	sum := 0
	for i := 1; i <= 10; i++ {
		sum += i
	}
	return sum
}
func getSum5() (sum int) { //定义函数时，指明要返回的数据是哪一个
	for i := 1; i <= 10; i++ {
		sum += i
	}
	return // 表示return sum
	//return 1//表示将 1 赋值给 sum，再 return sum
}

// 函数用于求矩形的周长和面积
func rectangle(len, wid float64) (float64, float64) {
	perimeter := (len + wid) * 2
	area := len * wid
	return perimeter, area
}
func rectangle2(len, wid float64) (peri float64, area float64) {
	peri = (len + wid) * 2
	area = len * wid
	return
}
